﻿using System;
using System.Collections.Generic;

namespace PerceptiveMCAPI.Types
{
	public class getAccountDetails_rewards
	{
		public int referrals_this_month { get; set; }
		public bool notify_on { get; set; }
		public string notify_email { get; set; }
		public reward_credits credits { get; set; }
		public reward_inspections inspections { get; set; }
		public List<reward_referral> referrals { get; set; }
		public List<reward_applied> applied { get; set; }

		public getAccountDetails_rewards()
		{
			this.credits = new reward_credits();
			this.inspections = new reward_inspections();
			this.referrals = new List<reward_referral>();
			this.applied = new List<reward_applied>();
		}

		public class reward_credits
		{
			public double this_month { get; set; }
			public double total_earned { get; set; }
			public double remaining { get; set; }
		}
		public class reward_inspections
		{
			public double this_month { get; set; }
			public double total_earned { get; set; }
			public double remaining { get; set; }
		}
		public class reward_referral
		{
			public string name { get; set; }
			public string email { get; set; }
			public DateTime signup_date { get; set; }
			public string type { get; set; }
			//
			public reward_referral()
			{
				signup_date = DateTime.MinValue;
			}
		}
		// have no data to test, but layout per docs
		public class reward_applied
		{
			public double value { get; set; }
			public DateTime date { get; set; }
			public int order_id { get; set; }
			public string order_desc { get; set; }
			//
			public reward_applied()
			{
				date = DateTime.MinValue;
			}
		}

	}
}
